{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Interpreting ResNet Model With Occlusion"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook loads the pretrained ResNet model given by [PaddleClas](https://github.com/PaddlePaddle/PaddleClas/tree/release/2.0) and performs image classification on selected images. \n",
    "\n",
    "Interpretations of the predictions are generated and visualized using Occlusion algorithm, specifically the `OcclusionInterpreter` class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "import paddle\n",
    "import interpretdl as it\n",
    "from interpretdl.data_processor.readers import read_image\n",
    "from assets.resnet import ResNet50"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you have't done so, please first download the pretrained ResNet50 model by runnig the cell below or directly from [this link](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_pretrained.pdparams). \n",
    "More pretrained models can be found in [PaddleClas Model Zoo](https://github.com/PaddlePaddle/PaddleClas/tree/e93711c43512a7ebcec07a0438aa87565df81084#Model_zoo_overview)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# downloads and the model to assets/\n",
    "!wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_pretrained.pdparams -P assets/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Initialize `paddle_model` and load weights. `ResNet50` is borrowed from PaddleClas [architectures](https://github.com/PaddlePaddle/PaddleClas/tree/e93711c43512a7ebcec07a0438aa87565df81084/ppcls/modeling/architectures)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "MODEL_PATH = \"assets/ResNet50_pretrained.pdparams\"\n",
    "paddle_model = ResNet50()\n",
    "\n",
    "state_dict = paddle.load(MODEL_PATH)\n",
    "paddle_model.set_dict(state_dict)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Initialize the `OcclusionInterpreter`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "oc = it.OcclusionInterpreter(paddle_model, use_cuda=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Before interpreting the image, we first take a look at the original image."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Ubz00ot5nt/9+ONut3vz5q0kieu6ZoCP7t4VUntycnL12rWzwWBvb+/GzZuX9/clTkgb88t3333//fe/853vbG1t9brdwfl5t9N59fbtL73++rVr1371q189ePCg3+9funRpb3fX1vXDhw+dc1/60pcePnw4GY+F9Dnn7rz/PhPtX7p0+5XbRO7DDz4UtvvK5St7l/b6/f7hwWG/13/11VdHo9G7b7/z7d/7dhLFd+/eRcTXX3stTVNx0Xr06NHdu3e73e4rr7ySpalCFKa53+/ffuWVjz/++P69e9euXXv/vfeuXrliLu1d6nY7g8F5WeYSh392dlaUJbMFRqUUAiulLLjRaBjFcRwnta1ra1WtmA07rmxZ1GyMQaUIcx3F/X602d947dXbl/f29nZ3Dg4PHz54mOeFdW44GhZFkaTdKNIAfOXy1eFoeHh4uL29PRqNOp3OG2+8ORgMojhGhHsf33v46JFYkC9fudLv9eq6vn//3oMHDzc3N5Ik/frXv/7xx/e2t7d7ve7779959913Nzc3AfCNN7507979mzdvbm9vywIcHR3+s3/2z7a3t8XVbXt7R3jZ09MzrdWLL744GAzSNLl69drHH398586dLMu++c1v7ezuPHjwkJkduZ/99GdXrl175+13qtpeuXrt61//xuB8kKbZV7/225cu7X/3b/76xs1bN27cJLKjyXjnwf0bN29+5bd/6/Gjx299+cuPHz+OkvjLv/WVk5OT/SuXv/rVrx4eHH744YdK626/Z4zZ2NyM4jjPi9/+2lfv3Lkj7O9gMHjhpZc6nU6337t6/fpoNDo7PzdRVFTl9u7uYHCGgIB47fq1NM20MbdeuPXXf/XXX/va19IsZQBiNnG0s71zaX//zp07p2dnaScz2ty7f//uvXuv3L69s7OTZlmSpr989923vvxl2XJlVY3GY0fU6XT6GxtHx8fZ3bu3Xnjhgw8+GE8mjijNsiRJoyiqbP3jH//0n/yTbwEq68g6qq1zxN1u/8bNW3/7t997+OjxfXp0eHjc7/d3dnZGo5G19tVXX/3ud797dnb28ssv7+/vizpc0pYQ0YsvvnhycnJ4eFjX9ccff/z7v/8HxtY2MtGV/V1EqKpyMBgcHnWPjk/LonDEoiTrdLodorIqELHb647HkKRJkiRxFEfGOHJlUZa2iqPIRK4sa6UmCJMo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RZFMxuMkTohcp5PVVbW9vf3Nb/2Tsqo3NzeNMaLRuHTp0o0bN/72b//2T//0T7tZBgD379/P87zf30jqWqzJX/va15n5wYMHN27ceOWV29/73veNaewZZ2dn3W6HyP3rf/2vf/d3v93r9f7wD//wr//6r+I4iuP40qX9W7du3br1wvn5+c7O9nA4HA6Ht27d3Nra/M//+c+NMURub29PtvX5+UBr0+l0tra2//Iv/+LKlStRFHW73X6/n08m//n//D/LsoyMefmllyTFcK/XK8vy4YMHV65c0VofHx//5Kc/+eCDO3mel0V5eHh4enL64osvitpP9D5FUYhWJDJRFEVnp2f/6T/9p8ODwyxNf/rTHydR8u47P4+T5PT46PQU2blf/OLnhwdHWRqRo6quNjY2izx/5+2fGxPfuHnz9OT00aNHZVGenp5WVfW9v/3eeDL+xc9/nqRpkReTfJJlGTB0e90kTt57773xePz40eMf/cOPRJ//6NGjLMuOj48ltu7tt98WH36t9U9+8hNRZMqRcP/u3/27KIqOjo43NjYkwoSZT05O7t+/Lwm8JSr/7/7uv7377juiKzw9PT0/P79//36303G2Fpd+cXJIkuSDDz4QbXRVVbu7u++++66YA0TFmyTJr371y/7GRhMAwKAdc1WWou6J4thoI37dJorPz4fMjKhiY86HA1HQILACsFXpnN3b2+12O7autFKTySTP837/krP1o0ePdrZ3yrqyVVXX9dbW1u9++9tXr9/4m+99P43jbqfz4Z07uzs7b7711muvvfaTn/6EyG5v9dhV77z99niSX7ly5Vvf+ta///f/odftbmz0vv+976dJevv2bQD+rd/6ynvvvffKK6/Udf0P//D3L7/88tWr1x4/Ppjkk0ePHsVxVFX1X/zFXwwG5y+88MJ4PD46OvpX/+pffec7fyT6zvfee+/4+OTs7Kyqyv/wH/6309OThw8fPnr08NGjh51OV4LOfvKTn04meZ7no9FoZ2fnwYMH77//vrX23/7bf5um6dHR0fn5+cHBwXvvvSdZXq21v3z3nbqui3wCAP+/f/WvdvcvPXr48O//jn7xs5+LtivPxuPxZHB6VlYVOZckCQPkk4lSCpF//rOfIuPg7KzT6bz3q1+aOIq0OTk6nIxGH9y5Y7Su6uoef6yVxIPRo4f3EXA0nhBREsXH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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=224x224 at 0x7F4C35877750>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "img_path = 'assets/fireboat.png'\n",
    "x = Image.fromarray(read_image(img_path)[0])\n",
    "x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Then, let Occlusion method help us `interpret` the image with respect to the predicted label. We choose to choose random baselines and perform 10 random trials. Gradients are overlayed with the original image."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOAAAADgCAAAAAA/RjU9AAAFOklEQVR4nO2dv4sdVRzFZ3ZnkzX+JBpREEQUVMRWkOS/sEvtHyBYir2lhaC1ldY2FiIoNhb+QoiFhUoCGo1mYxI1GzfPKufzHhyC7bnvfKqzM/Nm5rxb7OF7v/e+eZ5usyvFMdiRuk/qL6njUvdI/S31r9S+1ErqSOqWUbAyx/akrpn7rab19x6UGkynBtOpwXRqMJ35/+YX0giJ4pgU6YFMs0jdlCKh8AnegDvzXJ7BZ3kXPnvTnJ2nLRjBGkynBtOpwXRqMJ3F5QgyCHmD6geJh8zgEgrH+BZnc8ylEa5bmbOTOevSzeZzBqUG06nBdGownRpMZ3EOXQaBXXMdlRNqMndLHUox4+RyE8dcfeiEud9xc93mLNTwI1iD6dRgOjWYTg2ms/B/31VdjoxaGQXkF9LNrlFkGnKJq+fwiX/MdW5OafO5w49gDaZTg+nUYDo1mM5MpcN1qbiZH5ctyD7HjJrMdXQLuw4c1J3rQy7xbM6IDT+CNZhODaZTg+nUYDoza41IBW6+x9VLqOJcveNDuO4uqRtS1GT4to/Msdkol3027zL8CNZgOjWYTg2mU4PprPXJuM4VID2wkvpAiqxCBnHJg6ftm7O75rrFnCUFXTdverTx1/AjWIPp1GA6NZhODaazPC15UupLKZLCnjnmenpJHuQNMggduofmrOvU4S5uzTdwl67CHosaTKcG06nBdIY3uDwvSX45LfWRFDmCbEGiOGGOUeMhtfxhXoHZKnpn3PooeoTZm891AZOCbk1bMII1mE4NplOD6dRgOvMZyR+kXOXkIalvpVxnMJUdkgz775JGXK8LNR63ZsrVfYB32dxBb/gRrMF0ajCdGkynBtNZvpEkvzwrhf9TUuekqNO4/euol5BfqN1Qf2FOye0TQ5Jxq7rpICYFMft1ddqCEazBdGownRpMpwbTmZ+SfEbqDannpF6R+lnqYyn3ewRkC1LLg1Lnpej9dR0zfPZeqUekvjNP+1NqZ9qCEazBdGownRpMpwbTWX6SZF7oA6n3pV6Tel2KFdz0zpA83M4yl6X4ZqnYkF9cTeYFKRLPOXPd5j58w49gDaZTg+nUYDo1mM5yvySdK/TEvGw+8o7US1Kfm7u438Lm+9wzx0gjrKh6U+pDqU+knpSiF4f73Zi2YARrMJ0aTKcG06nBdBY6V5izoXfmLalHpcgvb0u9KPWLFLNBdOi6HfSov/AuD9iXvQ3VI2a1LhvVmswI1GA6NZhODaYzvMG1ZUDMFT0m9bgUvbXwqtS+OcuME5mGrHJFikoMn6CfhhoPlZjfpKjEkKBIRqtpC0awBtOpwXRqMJ0aTGehr4Ucwa4vn0mdlXpXim5h+nypulAbuW6uI0IxC0XXLknmK6lPpagP8TS3qrs1mRGowXRqMJ0aTGd4gwv55VepC1IHUnQGsy/dRSlSC5Ud8tChUVRO6Jgh59An86PUE1L09LKOiqoQb9DfXRqBGkynBtOpwXSGN7g2u0Tl5Io5RpJhlfPvUuwdQ3cvK5Z4CLNL5A3qKnS9vCdF0iLJfC/l9hHmDa5NWzCCNZhODaZTg+nUYDprHb9USZipIR+QaR6WOpAiUVBhYdaIb5H5I7IPTwP2G+aXE76Qcnv8cmeyT3fGG4EaTKcG06nBdIY3uNYnQ0XE9eCiDqRINyQecon7fWxmoeggpjpDHiItfS1FLQiYj+Jd6C9un8wI1GA6NZhODaYzvMGZ//sot2Mv3TF0qVySYkaHWgu5hCSzYxTXkYJOmWPuF5h4UxIZ79w9fkdgeIP/AUVtAj+6JYWZAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<PIL.Image.Image image mode=L size=224x224 at 0x7F4C38703B50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "interpretations = oc.interpret(\n",
    "        img_path,\n",
    "        sliding_window_shapes=(1, 10, 10),\n",
    "        labels=None,\n",
    "        strides=(1, 10, 10),\n",
    "        baselines=None,\n",
    "        perturbations_per_eval=10,\n",
    "        visual=True,\n",
    "        save_path=None)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that `OcclusionInterpreter` also supports multiple images as inputs. They can be either processed images or a list of image filepaths. Feel free to play around with it!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "paddle2.0",
   "language": "python",
   "name": "paddle2.0"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
